A small computer system interface (SCSI) is an industry-standard interface for connecting certain peripheral devices, particularly mass storage units such as disk drives, to a computer system. Such interfaces have been demonstrated to be capable of providing high speed access to peripheral devices. For instance, SCSI interfaces are preferred over other interfaces such as integrated/intelligent drive electronic (IDE) interfaces for connecting mass storage units because of their high data rate.
The existing SCSI Architecture Model describes a logical unit as an attribute of a target device. However, not all SCSI transport protocols allow the partitioning of storage by using the target device. Partitioning storage is a term which describes sub-dividing of the storage within a storage system into partitions and allowing each of the multiple SCSI initiators that are connected to it access to a subset of the partitions. A typical sub-division of a storage system is illustrated in FIG. 1 in which the system is sub-divided into three partitions with four hypothetical initiators which have access to only part of the data in the storage system.
Two main approaches, Fibre Channel and iSCSI (Internet Small Computer System Interface), are currently employed for the storage of data transmissions over Internet-Protocol (IP) networks. Both Fibre Channel and iSCSI support block access for storage using a SCSI command set and are useful for performing general data access as well as data backup. Fibre Channel, in particular, associates the SCSI target with the Fibre Channel node name, an attribute of the physical interface. Further, existing systems with Fibre Channel interfaces partition storage by using a virtual-target interface or a single-target interface. The Fibre Channel interface which employs a virtual-target interface involves an interface chip which is programmed to act like multiple Fibre Channel nodes whereby one node is assigned for each target. In contrast, the single-target interface relies upon the storage partition algorithm using the initiators' Fibre Channel names to select which partition of storage is being accessed.
For Fibre Channel, the single-target interface is often chosen over the virtual-target interface because many interface chips do not support the virtual-target interface. FIG. 2A demonstrates the relationships used to implement Fibre Channel partitions when the interface chip is unable to provide multiple targets. As illustrated in FIG. 2A, the initiator information is used to select the partition, which in turn, selects the volumes which are accessible to the initiator.
In contrast to Fibre Channel, the iSCSI standard specificially abstracts the target as an entity not associated with the physical interface to more closely adhere to the SCSI Architecture Model. Exisiting systems with iSCSI partition storage by employing either the initiator's name (i.e., a single-target system) or the target (i.e., a virtual-target system) to select which partition of storage is to be accessed. FIG. 2B demonstrates the relationship used to implement iSCSI partitions where virtual targets are used. As illustrated in FIG. 2B, the target which is being addressed is used to select the partition.
Although Fibre Channel interfaces and iSCSI have increased the ability to store data transmissions over IP networks, such interfaces are disadvantageous under certain situations. For example, the methods employed by either iSCSI or Fibre Channel interfaces for partitioning storage do not address systems which require use of both single-target and virtual-target interfaces.
Therefore, it would be desirable to provide a method for partitioning storage for systems which need to support both single-target and virtual-target interfaces.